Skip to content

Conversation

@kv2019i
Copy link
Collaborator

@kv2019i kv2019i commented Jan 29, 2026

The scheduler implementation in ll_schedule.c implements a low-latency (LL) scheduler using old XTOS interfaces. The code has been modified so it can be used with Zephyr using the SOF rtos/ interface.

The code is only used by one build target at this point and it should not be used for new targets. To make it clear this is not the primary implementation, rename the file with a "xtos" postfix.

The scheduler implementation in ll_schedule.c implements a low-latency
(LL) scheduler using old XTOS interfaces. The code has been modified so
it can be used with Zephyr using the SOF rtos/ interface.

The code is only used by one build target at this point and it should
not be used for new targets. To make it clear this is not the primary
implementation, rename the file with a "xtos" postfix.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR renames the low-latency scheduler implementation file from ll_schedule.c to ll_schedule_xtos.c to clearly indicate that it uses legacy XTOS interfaces and is not the primary implementation for new targets.

Changes:

  • Renamed ll_schedule.c to ll_schedule_xtos.c to reflect its XTOS-specific nature
  • Updated the CMake build configuration to reference the renamed file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Collaborator

@lyakh lyakh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a good idea in principle, but for a reader today the name wouldn't tell much? Which target(s) still use(s) it? Cmocka or something? Maybe ll_schedule_test.c or ll_schedule_legacy.c or move it to the respective directory?

else()
zephyr_library_sources(
ll_schedule.c
ll_schedule_xtos.c
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both "xtos" and "legacy" are fine to use, although "xtos" is more common here.

But I'm not sure if building the xtos version from the main branch is still possible? Even build scripts like xtensa-build-all.sh were removed.

Copy link
Member

@lgirdwood lgirdwood Jan 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point @abonislawski , xtos version should no longer be buildable but IIRC there are some lingering headers that have to be removed before all xtos file can go completely.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@abonislawski @lgirdwood This is only used by AMD ACP6.0 build target (CONFIG_SOC_ACP_6_0), and when it's build without DMA scheduling. This is a Zephyr build, so not sure how this works, but SOF did provide migration tools to run XTOS code over Zephyr like this. I'm not sure if this is actively used, but the build target exists, so I don't want to remove the file.

I picked the "_xtos" prefix as then it's easier to note and remember to remember when we drop this target.

Copy link
Member

@lgirdwood lgirdwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, what the last xtos platform ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants